This disclosure relates to wear leveling.
The memory cells of a memory device, such as a flash memory device, can eventually wear out from repeated programming and erasure. To extend the overall life of a memory device, addressable sections of the memory device, such as blocks or pages, can be programmed and/or erased at similar rates by wear leveling. Wear leveling ensures that the memory cells of the memory device wear evenly, e.g., programming and/or erasing of memory cells occurs at a similar rate for all the memory cells over the life of the memory device. Wear leveling typically includes the swapping of data stored in memory locations that are infrequently changed with data stored in frequently changing memory locations, or the moving of data stored in memory blocks that are infrequently changed to unallocated memory blocks. The even wearing of the memory cells can thus prevent premature failure of the memory device.